home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Database / DBTVTest / Tester.m < prev   
Text File  |  1995-06-12  |  3KB  |  134 lines

  1.  
  2. #import "Tester.h"
  3.  
  4. @implementation Tester
  5.  
  6. - appDidInit:sender
  7. {
  8.     SimpleProperty *prop;
  9.     
  10.     
  11.     prop = [[SimpleProperty alloc] init];
  12.     [prop setName:"column0"];
  13.     [[DBTV columnAt:0] setIdentifier:prop];
  14.     
  15.     prop = [[SimpleProperty alloc] init];
  16.     [prop setName:"column1"];
  17.     [[DBTV columnAt:1] setIdentifier:prop];
  18.  
  19.     [DBTV setDataSource:self];
  20.  
  21.     return self;
  22. }
  23.  
  24. - (unsigned int)rowCount
  25. {
  26. #ifdef FULLDEBUG
  27.     printf("-rowCount\n");
  28. #endif /* FULLDEBUG */
  29.  
  30.     return 10;
  31. }
  32.  
  33. - (unsigned int)columnCount
  34. {
  35. #ifdef FULLDEBUG
  36.     printf("-columnCount\n");
  37. #endif /* FULLDEBUG */
  38.  
  39.     return 2;
  40. }
  41.  
  42. - getValueFor:rowIdentifier :columnIdentifier into:aValue
  43. {
  44. #ifdef FULLDEBUG
  45.     printf("-getValueFor:rowIdentifier :columnIdentifier into:aValue\n");
  46.     printf("\trowIdentifier name is '%s'\n", [rowIdentifier name]);
  47.     printf("\tcolumnIdentifier name is '%s'\n", [columnIdentifier name]);
  48. #endif /* FULLDEBUG */
  49.     
  50.     [aValue setStringValue:"Testing"];
  51.     return self;
  52. }
  53.  
  54. - getValueFor:identifier at:(unsigned int)aPosition into:aValue
  55. {
  56.     char buf[100];
  57.     
  58. #ifdef FULLDEBUG
  59.     printf("-getValueFor:identifier at:%u into:aValue\n", aPosition);
  60.     printf("\tidentifier name is '%s'\n", [identifier name]);
  61. #endif /* FULLDEBUG */
  62.  
  63.     sprintf(buf, "Testing %s:row%u", [identifier name], aPosition);
  64.     [aValue setStringValue:buf];
  65.     return self;
  66. }
  67.  
  68. - setValueFor:rowIdentifier :columnIdentifier from:aValue
  69. {
  70. #ifdef FULLDEBUG
  71.     printf("-setValueFor:rowIdentifier :columnIdentifier from:aValue\n");
  72.     printf("\trowIdentifier name is '%s'\n", [rowIdentifier name]);
  73.     printf("\tcolumnIdentifier name is '%s'\n", [columnIdentifier name]);
  74. #endif /* FULLDEBUG */
  75.     
  76.     return self;
  77. }
  78.  
  79. - setValueFor:identifier at:(unsigned int)aPosition from:aValue
  80. {
  81. #ifdef FULLDEBUG
  82.     printf("-setValueFor:identifier at:%u from:aValue\n", aPosition);
  83.     printf("\tidentifier name is '%s'\n", [identifier name]);
  84. #endif /* FULLDEBUG */
  85.  
  86.     return self;
  87. }
  88.  
  89.  
  90. @end
  91.  
  92. @implementation SimpleProperty
  93.  
  94. - init
  95. {
  96.     [super init];
  97.     myName = NULL;
  98.     return self;
  99. }
  100.  
  101. - (const char *)name
  102. {
  103.     return myName;
  104. }
  105.  
  106. - (BOOL)setName:(const char *)aName
  107. {
  108.     if (myName) free(myName);
  109.     if (aName)  {
  110.         myName = (char *)malloc(strlen(aName)+1);
  111.         strcpy(myName, aName);
  112.     }  else  {
  113.         myName = NULL;
  114.     }
  115.     return YES;
  116. }
  117.  
  118. - (id <DBEntities>)entity  { return nil; }
  119.  
  120. - (BOOL)isKey  { return NO; }
  121. - (BOOL)isReadOnly  { return NO; }
  122. - (BOOL)isSingular  {return YES; }
  123.  
  124. - (BOOL)matchesProperty:(id <DBProperties>)aProperty
  125. {
  126.     if (self==aProperty)  return YES;
  127.     if (strcmp([self name], [aProperty name])==0)  return YES;
  128.     return NO;
  129. }
  130.  
  131. - (id <DBTypes>)propertyType  { return nil; }
  132.  
  133. @end
  134.